// // // import { VariableQueue } from "../Game/useful/VariableQueue";

// // /**时间 */
// import { _decorator } from 'cc';
// export class SSS_GameTime {
//     public static deltaTime = 1;
//     // private static _deltaTime = 0.0166667;
//     private static _timeScale: number = 1;
//     // private static _unscaledDeltaTime: number = 0.0166667;
//     // public static set unscaledDeltaTime(value: number) { this._unscaledDeltaTime = value; }
//     // public static get unscaledDeltaTime() { return this._unscaledDeltaTime; }
//     // // public static set deltaTime(value: number) { this._deltaTime = value; }
//     // public static get deltaTime() { return this._unscaledDeltaTime * this._timeScale; }

//     public static get timeScale() { return this._timeScale; }
//     public static setTimeScale(value: number) {
//         //     for (let i = this._events.length - 1; i >= 0; i--) {
//         //         const element = this._events[i];
//         //         if (!element.ccComp.isValid) this._events.splice(i, 1);
//         //         else element.action(value);
//         //     }
//         this._timeScale = value;
//     }

//     // //#region 
//     // private static timescaleQueue: VariableQueue<number> = null;
//     // /**设置游戏时间缩放, 返回resume方法 */
//     // public static addTimeScale(scale: number): () => void {
//     //     if (this.timescaleQueue === null)
//     //         this.timescaleQueue = new VariableQueue<number>(1, (pre, curr) => pre * curr, (v) => this.setTimeScale(v));
//     //     return this.timescaleQueue.add(scale);
//     // }
//     // /**暂停游戏,返回恢复游戏方法. */
//     // public static pause(): () => void {
//     //     return this.addTimeScale(0);
//     // }
//     // /**清空所有scale */
//     // public static ClearAllTimeScale() {
//     //     this.timescaleQueue?.clear();
//     // }
//     // //#endregion
//     // private static _events: { action: (value: number) => void, ccComp: cc.Component }[] = [];
//     // public static on(ccComp: cc.Component, action: (value: number) => void) {
//     //     this._events.push({ ccComp, action })
//     // }
//     // public static off(ccComp: cc.Component) {
//     //     for (let i = this._events.length - 1; i >= 0; i--) {
//     //         const element = this._events[i];
//     //         if (!element.ccComp.isValid) this._events.splice(i, 1);
//     //         else if (element.ccComp === ccComp) this._events.splice(i, 1);
//     //     }
//     // }
// }